import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'

// 创建Vue应用实例
const app = createApp(App)

// 注册Element Plus
app.use(ElementPlus, {
    locale: zhCn, // 使用中文语言包
    size: 'default', // 默认组件大小
    zIndex: 3000 // 弹窗的z-index起始值
})

// 注册所有Element Plus图标为全局组件
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}

// 全局错误处理
app.config.errorHandler = (err, vm, info) => {
    console.error('Vue错误:', err)
    console.error('错误信息:', info)
}

// 全局属性
app.config.globalProperties.$filters = {
    // 格式化数字，保留指定小数位
    formatNumber(value, digits = 2) {
        if (isNaN(value)) return value
        return Number(value).toFixed(digits)
    },

    // 格式化日期时间
    formatDateTime(value) {
        if (!value) return ''
        const date = new Date(value)
        return date.toLocaleString('zh-CN')
    }
}

// 挂载应用
app.mount('#app')

// 控制台输出应用信息
console.log('环境监测数据可视化大屏 - 应用已启动')